package com.im.service.group.entity;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

@Data
@TableName("im_group")
@ApiModel(description = "IM群组实体")
public class ImGroupEntity {

    @ApiModelProperty(value = "群组ID")
    @TableId(value = "group_id")
    private String groupId;

    @ApiModelProperty(value = "应用ID")
    private Integer appId;

    @ApiModelProperty(value = "群主ID")
    private String ownerId;

    @ApiModelProperty(value = "群类型，1表示私有群（类似微信），2表示公开群（类似QQ）")
    private Integer groupType;

    @ApiModelProperty(value = "群名称")
    private String groupName;

    @ApiModelProperty(value = "全员禁言标志，0表示不禁言，1表示全员禁言")
    private Integer mute;

    @ApiModelProperty(value = "申请加群选项，0表示禁止任何人申请加入，1表示需要群主或管理员审批，2表示允许无需审批自由加入群组")
    private Integer applyJoinType;

    @ApiModelProperty(value = "群简介")
    private String introduction;

    @ApiModelProperty(value = "群公告")
    private String notification;

    @ApiModelProperty(value = "群头像")
    private String photo;

    @ApiModelProperty(value = "群成员上限")
    private Integer maxMemberCount;

    @ApiModelProperty(value = "群状态，0表示正常，1表示解散")
    private Integer status;

    @ApiModelProperty(value = "序列号")
    private Long sequence;

    @ApiModelProperty(value = "创建时间")
    private Long createTime;

    @ApiModelProperty(value = "更新时间")
    private Long updateTime;

    @ApiModelProperty(value = "额外信息")
    private String extra;

}
